﻿package com.eitb.programas.olentzero09{
	import flash.display.*;
	import flash.geom.*;
	import flash.events.*;

	import com.eitb.util.logging.*;
	import com.eitb.literales.*;
	import com.eitb.programas.olentzero09.objetos.*;
	import com.eitb.programas.olentzero09.events.*;

	public class ModeloJuego implements IControladorJuego {
		private var vJuego:IVistaJuego;
		private var vOlentzero:IVistaOlentzero;
		private var vOlentzeroAPie:IVistaOlentzero;
		private var vOlentzeroOvni:IVistaOlentzero;

		private var idioma:int;
		private var literales:ILiterales;
		private var limites:Object;

		public static var vidas:int;
		public static var puntos:int;

		public function ModeloJuego():void {
			ModeloJuego.puntos = 0;
			ModeloJuego.vidas = 3;
		}

		// INIT COMPONENTES
		public function initVista(vJuego:IVistaJuego):void {
			this.vJuego=vJuego;
		}
		public function initVistaOlentzero(vOlentzero:IVistaOlentzero):void {
			this.vOlentzero=vOlentzero;
		}
		public function initVistaOlentzeroAPie(vOlentzeroAPie:IVistaOlentzero):void {
			this.vOlentzeroAPie=vOlentzeroAPie;
		}
		public function initVistaOlentzeroOvni(vOlentzeroOvni:IVistaOlentzero):void {
			this.vOlentzeroOvni=vOlentzeroOvni;
		}
		// INIT COMPONENTES

		// INIT PARAMETROS
		public function initIdioma(idioma:int):void {
			this.idioma=idioma;
		}

		public function initLiterales(literales:ILiterales) {
			this.literales=literales;
		}
		// INIT PARAMETROS

		// IControladorJuego
		public function setVistaOlentzero(vOlentzero:IVistaOlentzero):void {
			this.vOlentzero = vOlentzero;
		}
		public function onEnterFrame(evt:Event):void {
			this.vJuego.setPuntos(new String(ModeloJuego.puntos));
			this.vJuego.setVidas(new String(ModeloJuego.vidas));
			if (ModeloJuego.vidas < 1) {
				this.vJuego.dispatchEvent(new OlentzeroEvent(OlentzeroEvent.MUERTE, {}));
			}
		}
		// IControladorJuego
	}
}